In recent years, capacities of storage devices have become larger, and services have been discussed in which data received from users via networks are stored in storage devices included in a server. This service is referred to as a cloud service. In order to configure a large capacity storage device, a number of real storage devices are connected to a computer, and highly efficient management of these storage devices is performed by using the computer. In such a case, a plurality of virtual machines for managing storage devices are set in a computer, and virtual storage devices are set in real storage devices in order to realize flexible management.
FIG. 1 illustrates a block configuration of a computer in which a virtual machine 12 is set.
A computer 9 including a plurality of virtual machines has hardware 10 for executing actual processes. The hardware 10 includes the virtual machine 12 that uses hardware resources. There is a virtual machine monitor 11 for controlling operations of the virtual machine 12 in the hardware 10. A storage unit 14 is connected to the computer 9.
FIG. 2 is a block diagram of the storage unit 14.
The computer 9 on which the virtual machine 12 operates is connected to the storage unit 14. A storage unit 15 is a group of real storage devices, and a plurality of virtual disks (VDisk) 17 are set for the plurality of real storage devices, and the plurality of the virtual disks 17 constitute a virtual storage device (VStorage) 18.
A virtual machine monitor (VMM) 11 is also referred to as Hypervisor. This is a program in a layer in which it controls the entire VM system, and performs dispatching of the virtual machine 12. Also, the virtual machine monitor 11 performs emulation of a privileged instruction (writing instruction or reading instruction) to be expected by each of the virtual machine 12, hardware control on the CPU, and the like. Hypervisor first operates during booting of the VM system, and activates the virtual machine 12.
The virtual machine 12 is a virtual machine that performs ordinary operations of an OS. Instructions to storage units are executed through the virtual machine monitor 11, and the virtual machine 12 does not include a real input/output interface, and only a virtual input/output interface is allocated.
The virtual disk (VDisk) 17 is a disk to be used by the virtual machine 12.
FIG. 3 illustrates a concept of a virtual storage device.
When there are three disks of 500 GB as real storage devices and direct access is to be made to these real storage devices, each of these disks are accessed as separate disks each having 500 GB. However, by setting these three disks as a single virtual storage device, access can be made as if there is a single disk of 1500 GB. As described above, by setting a virtual storage device, it is possible to group real storage devices so as to construct a disk system appropriate to a situation.
Conventional techniques include a technique of simplifying the I/O monitoring, a technique of sharing resources in accordance with the circumstances of virtual machines, and a technique of providing a standby system node to an active system node so that switching between them can be performed. Further, there is a technique of monitoring the performance of a single application that is operating on a plurality of servers or virtual machines, and when the performance by the application does not reach a prescribed level, the application migrates to a different server that has vacant resources.
Patent Document 1: Japanese Laid-open Patent Publication No. 5-257720
Patent Document 2: Japanese Laid-open Patent Publication No. 2009-265778
Patent Document 3: Japanese Laid-open Patent Publication No. 2007-207219
Patent Document 4: Japanese Laid-open Patent Publication No. 2006-244481
FIG. 4 illustrates a problem of a conventional technique.
As a general rule, virtual disks to be allocated when a virtual machine is generated are generated in a virtual storage device having a large free volume. This is based on a reason of “large free volume=fewer users=less access convergence=quicker response”.
However, when a plurality of storage units are connected to the computer 9, a distance between the computer 9 and those storage units are different from each other, and “having a large free volume” does not necessarily mean “good response”. Specifically, when the distance between the computer and each storage unit is long, switches for connecting networks are set between them, and the responses may sometimes be deteriorated by operation delays of those switches or the like. Further, the operation rates of storage units may also be different from the each other.
Thus, a conventional technique in which a virtual disk generated on a virtual storage device having a large free volume is allocated to the virtual machine 12 may deteriorate the disk access performance from the virtual machine 12.
Specifically, when a new virtual machine is provided, the management server 15 for managing the computer 9 refers to and allocates only free volumes in the virtual disk. When users specify an allocation area, the only criterion is the volume of a virtual disk. As a result of this, a virtual disk is allocated to a storage unit having a long latency, deteriorating the performance of the virtual machine.